1. Field of the Invention
The present invention relates to an error detection method, an information processing circuit, and an error detection computer program product, and particularly relates to error detection of software that operates in conjunction with hardware.
2. Description of the Related Art
Software that operates in conjunction with hardware controls operation of the hardware by setting a parameter in a register provided in the hardware. For example, when starting the hardware and making it execute processing, the software sets a value in a register assigned for instructing starting of the hardware and/or execution of processing.
When developing such software, it is necessary to configure a computer program so that no trouble occurs in operation of hardware to be controlled. As a unit used for creating such software, there is proposed a simulation device that performs simulation based on a verification scenario (for example, refer to Japanese Patent Application Laid-open No. 2008-226207).
A technique disclosed in Japanese Patent Application Laid-open No. 2008-226207 makes it possible to verify software and hardware with high accuracy by outputting a response to an instruction from a driver serving as software controlling hardware, and also by storing control information at that time.
A case in which a trouble occurs in operation of hardware to be controlled as mentioned above refers to a case in which, for example, the hardware starts processing based on control from the software, and thereafter, before completing the processing, receives again a start instruction of the hardware from the software, or receives a change instruction of a parameter. Such a phenomenon is a phenomenon occurring in a register inside the hardware, and therefore, an operator is difficult to recognize the phenomenon in an easy and instant manner.
Examples of hardware as described above include a circuit for image processing incorporated in an image processing apparatus, a plotter engine that performs image formation output, and a scanner engine that reads documents. To speed up control of such hardware for image processing by software, there is a case of using a configuration in which an application directly controls the hardware without intervention of a driver, that is, the application directly accesses a register of the hardware.
If hardware is controlled via a driver, an error such as described above can be detected in some cases by a register control function included in the driver. However, if an application directly controls hardware while omitting a driver, detection of an error becomes more difficult.
As a method to easily achieve prevention of change in a register value for a start register and a parameter register while hardware is in operation, there is a method of blocking change in a register value while operation is performed. However, this is a makeshift measure, and does not correct software that includes erroneous processing such as changing a register value even though hardware is in operation.
It should be noted that a situation such as described above is a problem in simulation in a development stage of hardware and in operation verification of created hardware, and can also be a problem in the same way even in hardware incorporated in an apparatus that has put into service.
There is a need to make it possible to recognize, in an easy and quick manner, a change in a register value while hardware is in operation.